﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using System.Data.SqlClient;
using Test.Model;
using Test.IDAL;
using Test.Common;

namespace Test.DAL
{
    public class StuInfoDAL:baseDAL<StuInfo>,IStuInfoDAL
    {
        public OperResult<List<StuInfo>>  Select(string name = "")
        {


            return Select(p => p.Name.Contains(name));
        }

        public OperResult<int>  Update(StuInfo info)
        {

            var data = Model.StuInfoes.Find(info.Id);
           
            try
            {
                
                if (data != null)
                {
                    data.Name = info.Name;
                    data.content = info.content;
                    data.Cid = info.Cid;
            
                }
               return OperResult<int>.Success(Model.SaveChanges()) ;
            }
            catch (Exception ex)
            {
                return OperResult<int>.Failed(ex.Message);

            }
            
        }
        //public static List<StuInfo> Select(string name = "")
        //{
        //    //var sql = "select * from StuInfo Where name like @name";//参数化
        //    //SqlParameter[] sqlParameters = new SqlParameter[]
        //    //    {
        //    //    new SqlParameter("@name",$"%{name}%")
        //    //    };
        //    //DataTable dataTable = SqlHelper.Query(sql,sqlParameters);
        //    //List<StuInfo> list = new List<StuInfo>();
        //    //foreach (DataRow row in dataTable.Rows)
        //    //{
        //    //    var cls = new StuInfo()
        //    //    {
        //    //        Id = Convert.ToInt32(row["Id"]),
        //    //        Name = Convert.ToString(row["Name"]),
        //    //        content = Convert.ToString(row["content"])

        //    //    };
        //    //    list.Add(cls);
        //    //}
        //    //return list ;


        //    return Model.StuInfoes.Where(p => p.Name.Contains(name)).ToList();
        //}


        //public static StuInfo Select(int id)
        //{
        //    //var sql = "select * from StuInfo where id= @id";
        //    //SqlParameter[] sqlParameters = new SqlParameter[]
        //    //    {
        //    //       new SqlParameter("@id",id)
        //    //    };
        //    //SqlDataReader reader = SqlHelper.Reader(sql,sqlParameters);
        //    //StuInfo info = null;//好处：可以知道有没有传到值
        //    //if (reader.Read())
        //    //{
        //    //    info = new StuInfo()
        //    //    {
        //    //        Id = Convert.ToInt32(reader["Id"]),
        //    //        Name = Convert.ToString(reader["Name"]),
        //    //        content = Convert.ToString(reader["content"])
        //    //    };  
        //    //}
        //    //reader.Close();
        //    //return info;


        //    return Model.StuInfoes.Find(id);
        //}


        //public static int Insert(StuInfo info)
        //{
        //    //var sql = "insert into StuInfo values(@name,@content)";
        //    //SqlParameter[] sqlParameters = new SqlParameter[]
        //    //   {
        //    //       new SqlParameter("@name",info.Name),
        //    //        new SqlParameter("@content",info.content)
        //    //   };
        //    //return SqlHelper.NonQuery(sql,CommandType.Text,sqlParameters);
        //    Model.StuInfoes.Add(info);
        //    return Model.SaveChanges();
        //}

        //public static int Delete(StuInfo info)
        //{
        //    Model.StuInfoes.Remove(info);
        //    return Model.SaveChanges();
        //    //var sql = "del_class";
        //    //SqlParameter[] sqlParameters = new SqlParameter[]
        //    //   {
        //    //        new SqlParameter("@id",id)

        //    //   };
        //    //return SqlHelper.NonQuery(sql, CommandType.StoredProcedure,sqlParameters);
        //}

        //public static int Update(StuInfo info)
        //{
        //    //var sql = "update  StuInfo set name=@name,content=@content where id=@id";
        //    //   SqlParameter[] sqlParameters = new SqlParameter[]
        //    //      {
        //    //           new SqlParameter("@id",info.Id),
        //    //            new SqlParameter("@name",info.Name),
        //    //           new SqlParameter("@content",info.content)

        //    //      };
        //    //   return SqlHelper.NonQuery(sql,sqlParameters: sqlParameters);//命名参数


        //    var data = Model.StuInfoes.Find(info.Id);
        //    if (data != null)
        //    {
        //        data.Name = info.Name;
        //        data.content = info.content;
        //    }

        //    return Model.SaveChanges();
        //}
    }
}
